This relates to integrated circuits and, more particularly, to efficiently managing configuration data that determine the implementation of circuit designs in an integrated circuit.
Every transition from one technology node to the next technology node has resulted in smaller transistor geometries and thus potentially more functionality implemented per unit of integrated circuit area.
Integrated circuits often include configuration memory bits that enable the customization of functional blocks by programming the configuration memory bits with configuration data. An increase in size of the integrated circuit often leads to an increase in the size of the functional blocks and thus to an increase in the amount of configuration data. Since the configuration data is often stored in a storage circuit, bigger storage circuits are required to store the increased amount of configuration data.
The problem of having increased amounts of configuration data is aggravated by partial reconfiguration that has recently emerged as a way of implementing multiple different circuit designs in the same partition of an integrated circuit at different times. Consider the example in which an integrated circuit partition includes configuration memory bits. A first configuration data set programs these configuration memory bits to implement a first circuit design; and the first circuit design implementation is operating on the integrated circuit partition during a first duration of time.
After the first duration of time, the configuration memory bits on the integrated circuit partition are reprogrammed using a second configuration data set. Thus, the first circuit design implementation is replaced by a second circuit implementation, and the second circuit design implementation operates on the integrated circuit partition during a second duration of time. In practice, more than two circuit design implementations are often sharing the same integrated circuit partition through partial reconfiguration.
In this example, the amount of configuration data that needs to be stored in the storage circuit significantly increases with each additional circuit design implementation; and the increased memory size requirements can have a significant impact on the cost of operating the integrated circuit.